package com.zjt.dao;

import com.zjt.entity.BarCodeJob;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;
/**
 * Created with IntelliJ IDEA.
 * User: xueyanbeijing
 * Date: 12-9-1
 * Time: PM9:45
 * 条形码定时采集任务DAO
 * To change this template use File | Settings | File Templates.
 */
public interface IBarCodeJobDao extends JpaRepository<BarCodeJob,String> {
    /**
     * 根据条形码值，取工作实体对像
     * @param codeValue
     * @return
     */
    BarCodeJob findByCodeValue(String codeValue);

    /**
     * 通过状态取当前条形码列表，主要是为0的
     * @param status
     * @return
     */
    List<BarCodeJob> findByStatus(int status,Pageable pageable);

    /**
     * //-3（两者都没有）,-2（无名称，有企业信息）,-1（无企业，有名称信息），1（名称和企业都有）
     * @param completeFlag
     * @param pageable
     * @return
     */

    List<BarCodeJob> findByCompleteFlagAndStatus(int completeFlag,int status,Pageable pageable);

    //此条形码分为4个部分，从左到右分别为：
    //1-3位：共3位，对应该条码的693，是中国的国家代码之一。（690--695都是中国的代码，由国际上分配）；
    //4-8位：共5位，对应该条码的69838，代表着生产厂商代码，由厂商申请，国家分配；
    //9-12位：共4位，对应该条码的0001，代表着厂内商品代码，由厂商自行确定；
    //第13位：共1位，对应该条码的3，是校验码，依据一定的算法(一般使用条码软件，由软件系统自动弹出最后一位校验码），由前面12位数字计算而得到。

    List<BarCodeJob> findByCompleteFlag(int completeFlag,Pageable pageable);

    List<BarCodeJob> findByStatusAndBarcodeAuto(int status,int barcodeAuto,Pageable pageable);

}
